package com.itheima.edu.info.manger.dao;

import com.itheima.edu.info.manger.domain.Student;

public class StudentDao {
    private static Student[] students = new Student[5];

    /**
     * 添加学生信息的方法
     *
     * @param student 要添加的学生对象
     * @return 添加结果 true：成功 false:失败
     */
    public boolean addStudent(Student student) {
        //1.获取到数组中第一个为null元素的索引值，用于存储数据
        int index = -1;
        for (int i = 0; i < students.length; i++) {
            if (students[i] == null) {
                index = i;
                break;//获取到第一个null的元素后停止循环。
            }
        }
        //2.判断index的值是不是-1，如果是-1，返回失败结果，如果不是则将student参数存储到对应的索引
        if (index == -1) {
            return false;
        } else {
            students[index] = student;
            return true;
        }
    }

    /**
     * 返回学生数组
     *
     * @return 学生数组
     */
    public Student[] findAll() {
        return students;
    }

    /**
     * 根据学生ID删除学生信息的方法
     *
     * @param id 要删除学生的学号
     * @return 删除成功返回true 删除失败返回false
     */
    public boolean deleteStudent(String id) {
        //1.遍历数组，找到Studnetde的id和参数id相同的元素，把他的引用改为null.
        for (int i = 0; i < students.length; i++) {
            if (students[i].getId().equals(id)) {
                students[i] = null;
                return true;
            }
        }
        return false;
    }

    /**
     * 根据学生学号更新学生信息的方法
     *
     * @param student 更新后的学生信息
     * @return 更新成功返回true 更新失败返回false
     */

    public boolean updateStudent(Student student) {
        //1.遍历数组，找到要修改打的元素(通过学号对比)
        for (int i = 0; i < students.length; i++) {
            if (students[i].getId().equals(student.getId())) {
                students[i] = student;
                return true;
            }
        }
        return false;
    }
}


